package cn.secby.distributor.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.baomidou.mybatisplus.annotation.*;
import cn.secby.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import cn.secby.common.core.web.domain.BaseEntity;

/**
 * 渠道商对象 tb_distributor
 * @author shenkunlin
 * @date 2025-04-26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "tb_distributor")
public class Distributor extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value ="id" ,type = IdType.ASSIGN_ID )
    @JsonSerialize(using=ToStringSerializer.class)
    private Long id;

    /** 渠道商名字 */
    @Excel(name = "渠道商名字")
    @TableField(value = "name")
    private String name;

    /** 账号状态  1 正常  2 禁用 */
    @Excel(name = "账号状态  1 正常  2 禁用")
    @TableField(value = "status")
    private Integer status;

    /** 联系方式 */
    @Excel(name = "联系方式")
    @TableField(value = "contact_info")
    private String contactInfo;

    /** 渠道商等级 */
    @Excel(name = "渠道商等级")
    @TableField(value = "level")
    private Integer level;

    /** 渠道商联系人 */
    @Excel(name = "渠道商联系人")
    @TableField(value = "link_user")
    private String linkUser;

    /** 是否删除  1 未删除  2 已删除 */
    @TableField(value = "is_delete")
    @TableLogic(value = "1", delval = "2")
    private Integer isDelete;

    /** 银行账号 */
    @Excel(name = "银行账号")
    @TableField(value = "bank_account")
    private String bankAccount;

    /** 银行名称 */
    @Excel(name = "银行名称")
    @TableField(value = "bank_name")
    private String bankName;

    /** 支行名称 */
    @Excel(name = "支行名称")
    @TableField(value = "bank_branch_name")
    private String bankBranchName;

}
